package io.kiki.stack.netty.config;


public interface Config {


    <T> T option(Option<T> option);

    /**
     * Allow to specify a {@link Option} which is used for the {@link Config} instances once they got
     * created. Use a value of {@code null} to remove a previous set {@link Option}.
     *
     * @param option target option
     * @param value  option value, null to remove the previous option
     * @return Configurable instance
     */
    <T> Config option(Option<T> option, T value);

}
